Data storage systems are arrangements of hardware and software that may include multiple storage processors coupled to arrays of non-volatile storage devices. In typical operation, the storage processors service storage requests that arrive from users. The storage requests specify files or other data elements to be written, read, created, or deleted, for example. The storage processors run software that manages incoming storage requests and perform data processing tasks to organize and secure user data stored on the non-volatile storage devices.
Some data storage systems provide caches composed of high-speed memory. These data storage systems use such caches to store frequently accessed data backed by magnetic disk or other storage media. By providing frequently accessed data on such caches, the data storage systems are able to respond more quickly to storage requests than they could if it were always necessary to access frequently used data from magnetic disk.
In some systems, as data is released from active use, cache descriptors for such data are placed on a least-recently-used (LRU) queue with the possibility to be re-accessed from (and therefore removed from) the LRU queue later. Once the cache becomes full, data associated with the least-recently accessed cache descriptors on the LRU queue will be deleted from the cache to make room for newer data in the cache.